package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.rzcode.coinex.kernel.common.enums.CommonStateEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;


/**
 * 商家保证金实体类，用于管理商家在平台上的保证金信息。
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "business_auth_deposit")
public class BusinessAuthDeposit {

    /**
     * 保证金记录的唯一标识符。
     */
    @ApiModelProperty(value = "保证金ID", example = "1")
    private Long id;

    /**
     * 押金币种，与币种表关联。
     */
    @ApiModelProperty(value = "押金币种", required = true)
    private Coin coin;

    /**
     * 押金数额，精确到小数点后8位。
     */
    @ApiModelProperty(value = "押金数额", example = "10000.00000000")
    private BigDecimal amount;

    /**
     * 创建时间，记录保证金记录的创建时间。
     */
    @ApiModelProperty(value = "创建时间", example = "2023-01-01 12:00:00")
    private Date createTime;

    /**
     * 管理员信息，关联创建或操作保证金记录的管理员。
     */
    @ApiModelProperty(value = "管理员信息", required = true)
    private Admin admin;

    /**
     * 状态，表示保证金记录是否启用。
     */
    @ApiModelProperty(value = "状态", allowableValues = "NORMAL, DISABLED", example = "NORMAL")
    private CommonStateEnum status = CommonStateEnum.NORMAL;
}

